const { contextBridge, ipcRenderer } = require('electron');

// 向渲染进程暴露安全的API
contextBridge.exposeInMainWorld('electronAPI', {
  // 保存数据到主进程
  saveData: (data) => ipcRenderer.invoke('save-data', data),
  // 从主进程加载数据
  loadData: () => ipcRenderer.invoke('load-data'),
  // 导出数据
  exportData: (dataStr) => ipcRenderer.invoke('export-data', dataStr),
  // 导入数据
  importData: () => ipcRenderer.invoke('import-data'),
  // 显示通知
  showNotification: (title, options) => ipcRenderer.invoke('show-notification', title, options),
  // 请求通知权限
  requestNotificationPermission: () => ipcRenderer.invoke('request-notification-permission'),
  // 监听主进程发送的消息
  onMessage: (callback) => {
    const listener = (event, ...args) => callback(...args);
    ipcRenderer.on('message', listener);
    return () => ipcRenderer.removeListener('message', listener);
  }
});

// 全局错误处理
window.addEventListener('error', (event) => {
  console.error('渲染进程错误:', event.error);
});